#!/usr/bin/python
# -*- coding: utf8 -*-

import re, codecs, os, sys
from pysqlite2 import dbapi2 as sqlite

class Installer(object):
   def __init__(self):
      self.dbpath = './db/agsf.s3db'

   def Install(self):
      self.Connect()
      self.Create_tables()
      self.Apply()
      self.Fill()
      self.Apply()

   def Connect(self):
      self.connection = sqlite.connect(self.dbpath)
      self.cursor = self.connection.cursor()

   def Create_tables(self):
      self.cursor.execute('''CREATE TABLE [User] (
[id] INTEGER  PRIMARY KEY AUTOINCREMENT NOT NULL,
[jid] VARCHAR(255)  UNIQUE NULL,
[daterid] INTEGER  UNIQUE NOT NULL,
[password] VARCHAR(255)  NULL
)''')
      self.cursor.execute('''CREATE TABLE [Dater] (
[id] INTEGER  PRIMARY KEY AUTOINCREMENT NOT NULL,
[login] VARCHAR(255)  UNIQUE NOT NULL,
[oid] VARCHAR(255)  UNIQUE NOT NULL,
[rating] INTEGER DEFAULT '0' NULL
)''')
      self.cursor.execute('''CREATE TABLE [Conversation] (
[id] INTEGER  PRIMARY KEY AUTOINCREMENT NOT NULL,
[userid] INTEGER  NOT NULL,
[daterid] INTEGER  NOT NULL,
[history] TEXT  NULL
)''')
      self.cursor.execute('''CREATE TABLE [Hellos] (
[id] INTEGER  NOT NULL PRIMARY KEY AUTOINCREMENT,
[message] TEXT  UNIQUE NOT NULL,
[used] INTEGER DEFAULT '0' NULL,
[rating] INTEGER DEFAULT '0' NULL
)''')

   def Fill(self):
      self.cursor.execute('INSERT INTO Dater VALUES (null, "peter88", "1320020285", 100)')
      daterid = self.cursor.lastrowid
      print daterid
      self.cursor.execute('INSERT INTO User VALUES (null, "peterdemin@jabber.org", ?, "qwerty")', (daterid,))
      hellos = [u'Привет! Как настроение?',
                u'Привет! Классные фотки!',
                u'Привет, пойдем в кино',
                u'Я скручиваю пизду из полотенца потому что мне в хуй не уперлось общаться с тупой девочкой. Это мудаки вроде опа подкатывают к девочкам, потому что тупые стереотипы общества заставляют их думать, что пизда из полотенца — это фэйл. Хотя все мы прекрасно знаем, что стереотипы — фэйл, а пизда из полотенца гораздо лучше живой девочки, потому что девочки ебут мозг, а полотенце — нет. Полотенце делает то, что хочешь ты, а девочек сложно контролировать. Потому что девочек нужно водить гулять, а полотенце — нет. Потому что девочки нуждаются в комплиментах, а полотенце — нет. И при всем при этом пизда из полотенца нихуя не уступает по ощущениям живой пизде.']
      for hello in hellos:
         self.cursor.execute('INSERT INTO Hellos VALUES (null, ?, 0, 0)', (hello,))

   def Apply(self):
      self.connection.commit()


def insert(cursor):
   cursor.execute('INSERT INTO names VALUES (null, "John Doe", "jdoe@jdoe.zz")')
   cursor.execute('INSERT INTO names VALUES (null, "Mary Sue", "msue@msue.yy")')
   connection.commit()

def connect(dbpath):
   connection = sqlite.connect(dbpath)
   cursor = connection.cursor()
   return cursor

def read(cursor):
   cursor.execute('SELECT * FROM names')
   return cursor.fetchall()

def main():
   installer = Installer()
   installer.Install()

if __name__ == '__main__':
   main()